#pragma once

#include "cplus.h"

// only for transform
union RGB888 { uint _; struct { uchar b, g, r, a; }; };
// only for transform
union RGB565 { ushort _; struct { ushort b : 5, g : 6, r : 5; }; };

namespace COLOR {
    static const uint
        WHITE = 0xFFFFFF,
        BLACK = 0x000000,
        RED = 0xFF0000,
        GREEN = 0x00FF00,
        BLUE = 0x0000FF,
        YELLOW = 0xFFFF00,
        NPC = 0xE0D428,
        OBJECT = 0x6AE47E;
};


union Dye4 {
    uint value = 0;
    uchar indexs[4];
};

using Dye4s = std::array<Dye4, 4>;